The present invention relates to a system for converting a packet transport stream from one packet rate to another packet rate.
Information is increasingly being transmitted digitally, and digital information may be transmitted in the form of a stream of packets carrying the information. For example, current digital television signals are transmitted by packet stream. The packet streams are encoded and modulated onto carriers using differing modulation schemes. For example, packet streams carrying terrestrial digital television signals in the United States are modulated using 8 level vestigial sideband modulation using trellis encoding (8 VSB-t). Packet streams carrying digital cable television signals in the United States are modulated using 64 level or 256 level quadrature amplitude modulation (64 QAM or 256 QAM) or 16 level vestigial sideband modulation (16 VSB). Packet streams carrying satellite television signals are modulated using quadrature phase-shift-keyed modulation (QPSK). Each packet stream is specially encoded for the modulation it will receive, resulting in different packet rates, and bit rates for the respectively modulated packetized bit streams, ranging from around 19 megabits per second (Mbps) for 8 VSB-t to around 39 Mbps for 16 VSB and 256 QAM.
In some applications it is required that particular packets be processed at specific times or over specific time intervals. In particular in television signal transmission systems, it is required that e.g. image information in particular packets carrying video signal data be displayed at particular relative times. Otherwise, the image will appear too fast, too slow, or jerky due to jitter. To avoid this problem, time stamp information is generated at the transmitting location and inserted into the packet stream. These time stamps are used to ensure that images are displayed at correct times, minimizing the jitter problem described above.
It is sometimes desired to convert from one modulation format to another. For example, a digital television receiver may properly receive, decode and display only 16 VSB or 8 VSB-t modulated digital packet streams. But digital video cassette recorders (DVCR) and/or cable and satellite set top box receivers may properly receive and process only cable (64 QAM, 256 QAM, 16 VSB) or satellite (QPSK) modulated digital packet streams. In order for the DVCR and cable or satellite set top boxes to properly operate with such a digital television, they must remodulate the received signal in the modulation recognized by the television receiver (16 VSB or 8 VSB-t).
It is also sometimes desired that additional information be added to the data stream by the DVCR or set top box. For example, on-screen displays (OSDs) may be generated to inform the user of the status of the DVCR or set top box. Specifically, in a DVCR, an OSD with the word xe2x80x9cPAUSExe2x80x9d or xe2x80x9cREWINDxe2x80x9d may be generated as appropriate; or a complete bit-mapped graphic may be displayed. This information may be easily added to a component video signal. However, in digital transmission systems, it is much preferred to add OSD information as additional packets carrying auxiliary data in television program packet streams. The receiver decodes the auxiliary data packets, generates an OSD representative signal locally, and combines that signal with the video signal. However, television packet data streams are generally produced at the maximum data rate, meaning that every available bit is used for the digital information representing the television program. Little or no extra capacity is available to allocate to additional auxiliary (OSD) packets.
Prior systems provided decoders to completely decode the received packet stream and extract the component signals (i.e. video, audio, data, etc.). These component signals were then recoded and remodulated into the desired modulation format. As a part of this process, any included time stamps were extracted, recalculated and reinserted into the packet stream. In addition, at this time, auxiliary information, such as OSD information, was formed into packets, and combined with received signal to be recoded and remodulated. The remodulated signal was then supplied to the, e.g. television receiver. However, such a system required a full demodulator, decoder, encoder and modulator, and a packetizer for auxiliary information. This is expensive, especially because there is no significant processing performed on the component signals in the packet stream.
U.S. patent application, Ser. No. 09/187,318, entitled xe2x80x9cAuxiliary Data Insertion in a Transport Datastreamxe2x80x9d filed Nov. 16, 1998 by Knutson, illustrates another system for converting from one modulation format to another. In Ser. No. 09/187,318, a system is illustrated in which a packet stream in one format at a first bit rate is remodulated into another format at a second bit rate. In one embodiment, the first and second bit rates are equal, but the encoding of the bit stream is changed to delete some of the error detecting code bits, and replace the deleted bits with auxiliary information. More specifically, an input packet stream encoded using 8 VSB-t, in which the trellis encoding adds one error detection bit for each two packet stream bits, is remodulated using 8 VSB (no trellis encoding). By deleting the error detection bits added by the trellis encoder, one additional packet may be added for each two originally transmitted packets. These additional packets are used to transmit auxiliary information, or null packets if no auxiliary information is available.
In a second embodiment in Ser. No. 09/187,318, the second bit rate is a multiple of the first bit rate, and the extra bit rate capacity is used to transmit the auxiliary information. More specifically, the input packet stream is encoded using 8 VSB-t, while the output packet stream is encoded using 16 VSB. The output packet stream bit rate is two times the input packet stream bit rate. Thus, one additional packet may be added for each originally transmitted packet. These additional packets are used to transmit auxiliary information, or null packets if no auxiliary information is available. In both of these cases, the output packet stream bit rate is related to the input packet stream bit rate by a simple integer ratio: 1:3 in the first case, and 1:2 in the second case.
However, it may be desired to remodulate a packet stream at one bit rate to another packet stream at a bit rate which is not necessarily in a simple integer ratio with each other. For example, the bit rates of packet streams modulated by QAM and 16 VSB, respectively, are not related by a simple integer ratio. Thus, when remodulating a QAM modulated packet stream to a 16 VSB packet stream, it is not possible to simply insert a packet of auxiliary information into the output packet stream every n originally transmitted packets, as in Ser. No. 09/187,318, described above.
Still further, as described above, the timing of packets in these packet streams may be critical to proper decoding and display of the television image and sound represented by the packet stream, and time stamp information may be included in the packet stream. Thus, it is important to maintain the proper timing of the packets as much as possible during the remodulation process to ensure that any included time stamps are remain accurate.
A system which can remodulate a received packet stream signal at one bit rate into a packet stream at a different bit rate, not necessarily related to the first bit rate by a simple integer ratio, without requiring complete demodulation, decoding, encoding and remodulation of the component signals; which permits insertion of auxiliary data packets (e.g. OSD data); and which does not interfere with proper timing of the packets as maintained by time stamps is desirable.
In accordance with principles of the present invention, an output packet stream generator in a remodulator system includes a source of a stream of input transport packets and a source of additional packets. A multiplexer is coupled to the input transport packet stream source and the additional packet source and generates the output packet stream. A control signal has a variable characteristic having a first state when an input transport packet should be inserted into the output packet stream and a second state when additional packets should be inserted into the output packet stream. A multiplexer controller conditions the multiplexer to insert an input transport packet into the output packet stream when the control signal has the first state, and an additional packet into the output packet stream when the control signal has the second state.
Such a system can operate successfully when the bit rate of the output signal is not related by a simple integer ratio to the bit rate of the input signal.